<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <meta name="Page-topic" content="D2dec()" />
 <meta name="Description" content="ST-Open Bibliotheken: D2dec()" />
 <meta name="Keywords" content="ST-Open Weichwaren, Open Quelle, ST-Open, Weichwaren, Bibliothek, Bibliotheken, freie Weichwaren, Assembler, C" />
 <meta name="date" content="2012-02-25T00:00:00+00:00" />
 <meta name="robots" content="index,follow" />
 <meta name="revisit-after" content="14 days" />
 <meta name="generator" content="Bernhard Schornak, handwritten" />
 <style type="text/css"><!--@import "../../st.css";--></style>
 <link rel="SHORTCUT ICON" href="../../../../pics/favicon.ico" />
 <title>D2dec()</title>
</head>
<body id="top">
<div class="pagehd">
<div id="menu">
<ul>
 <li><a href="../../../index.htm">Weichwaren</a></li>
 <li><a href="../tut/index.htm">Tutorials</a></li>
 <li><a href="../index.htm">Dokumentation</a></li>
 <li><a href="../alp.htm">alphabetisch</a></li>
 <li><a href="../fct.htm">nach Funktion</a></li>
</ul>
</div>
<div class="update">[2012-02-25]</div>
<div class="headpc"><img src="../../pics/ste.png" alt="QuelleDoc Logo" width="75" height="75" border="0" /></div>
</div>
<div class="crlf1"></div>
&#160;&#160;&#160;<a href="../index.htm"><img src="../../../../pics/nav_up.png" alt="aufw&auml;rts" width="20" height="20" border="0" title="aufw&auml;rts" /></a>
&#160;&#160;&#160;<a href="cvt07.htm"><img src="../../../../pics/nav_bk.png" alt="zur&uuml;ck" width="20" height="20" border="0" title="zur&uuml;ck" /></a>
&#160;&#160;&#160;<a href="cvt09.htm"><img src="../../../../pics/nav_fw.png" alt="vorw&auml;rts" width="20" height="20" border="0" title="vorw&auml;rts" /></a>
&#160;&#160;&#160;<a href="../tut/FFFF.htm">Glossar</a>
<div class="crlf1"></div>
<div class="text100"><div class="inner">..\st7\lib\sources\core\cvt.S</div><div class="outer"><big>sys.lib</big></div></div>
<div class="crlf1"></div>
<div class="text100"><div class="inner"><b>D2dec</b></div><div class="outer">Funktion</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">rc = D2dec(zahl, ziel, stellen);</div><div class="outer">Aufruf</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
<div class="inners">DD</div>
<div class="inners">zahl</div>
<div class="innerl">Umzuwandelndes Doppelwort</div>
<div class="crlf0"></div>
<div class="inners">VOID *</div>
<div class="inners">ziel</div>
<div class="innerl">Adresse des Ziels</div>
<div class="crlf0"></div>
<div class="inners">DD</div>
<div class="inners">stellen</div>
<div class="innerl">Siehe <b>Formatierung</b></div>
</div><div class="outer">Eingabe</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
<div class="inners">DD</div>
<div class="inners">rc</div>
<div class="innerl">immer Null</div>
</div><div class="outer">Ausgabe</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
Die Umwandlung mittels D2dec() und Q2dec() beinhaltet <i>immer</i> eine ordentliche Formatierung
 der Ausgabezeichenkette.
<div class="crlf1"></div>
Die Formatanweisung wird im dritten Parameter (R08) &uuml;bergeben:
<div class="crlf1"></div>
<div class="inners">Bit 31...24</div>
<div class="inners">Format</div>
<div class="innerl">00 = 9 999.999<div class="crlf0"></div>2C = 9,999.999<div class="crlf0"></div>2E = 9.999,999</div>
<div class="crlf1"></div>
<div class="inners">Bit 23...16</div>
<div class="inners">Fliesskomma</div>
<div class="innerl">00 = keins<div class="crlf0"></div>1...20 = Stellen</div>
<div class="crlf1"></div>
<div class="inners">Bit 15...08</div>
<div class="inners">Vorzeichen</div>
<div class="innerl">00 = ohne<div class="crlf0"></div>?? = mit</div>
<div class="crlf1"></div>
<div class="inners">Bit 07...00</div>
<div class="inners">Stellen</div>
<div class="innerl">00 = 20<div class="crlf0"></div>1...20</div>
<div class="crlf1"></div>
&Uuml;bergeben Sie Null im dritten Parameter, wird eine vorzeichenlose zwanzigstellige Zahl
 zwischen 0 (mit 25 f&uuml;hrenden Leerzeichen) und 18 446 744 073 709 551 615 ausgegeben. Die
 Funktion erzeugt im Zusammenspiel mit Festbreitenzeichens&auml;tzen perfekt formatierte Tabellen.
</div><div class="outer">Formatierung</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
D2dec() wandelt [zahl] in eine in Dreiergruppen formatierte Dezimalzeichenkette ab Adresse [ziel] um.
 Die Dezimalstellenanzahl wird in Byte 00 des Parameters [stellen] festgelegt. F&uuml;hrende Nullen
 werden bei der Umwandlung automatisch in Leerzeichen umgewandelt, so dass Kolonnen mit Zahlen
 unterschiedlicher Gr&ouml;sse bei Verwendung von Festbreitenschriftarten korrekt dargestellt werden.
<div class="crlf1"></div>
Byte 02 dieses Parameters legt die Anzahl der Pseudofliesskommastellen fest. Ist die Dezimalstellenanzahl
 Null, wird sie von D2dec() automatisch auf zehn gesetzt.
<div class="crlf1"></div>
<b>ACHTUNG:</b> Der Ausgabepuffer muss mindestens 32 Byte gross sein!
</div><div class="outer">Beschreibung</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
<pre>
{
 DB s[32];
 D2dec(0x12345678, s, 516);    // 0x00000204
}
</pre>
Die Zeichenkette s enth&auml;lt nun "98.96". Der wirkliche Wert w&auml;re eigentlich "3 054 198.96", die
 h&ouml;chstwertigen Stellen werden durch die Beschr&auml;nkung auf 4 Stellen jedoch abgeschnitten. Sie
 sollten daher auf den Wertebereich achten oder die Formatierung der Einfachheit halber generell auf 10
 Stellen setzen (f&uuml;hrende Nullen werden durch Leerzeichen ersetzt).
<div class="crlf2"></div>
&Uuml;bliche Kolonnendarstellung:
<div class="crlf1"></div>
1<div class="crlf0"></div>9999.99<div class="crlf0"></div>22.44<div class="crlf0"></div>333.1
<div class="crlf2"></div>
Bei Verwendung von D2dec():
<div class="crlf1"></div>
<pre>    1.00<div class="crlf0"></div>9 999.99<div class="crlf0"></div>   22.44<div class="crlf0"></div>  333.10</pre>
</div><div class="outer">Beispiele</div></div><div class="crlf0"></div>
<div class="text100"><div class="inner">
108 Taktzyklen
<div class="crlf1"></div>
279 Taktzyklen
<div class="crlf1"></div>
Beide Angaben ohne die optionale Umformatierung mit Pseudo-Fliesskommastellen!
</div><div class="outer">Latenz</div></div><div class="crlf0"></div>
<div class="crlf2"></div>
&#160;&#160;&#160;<a href="../index.htm"><img src="../../../../pics/nav_up.png" alt="aufw&auml;rts" width="20" height="20" border="0" title="aufw&auml;rts" /></a>
&#160;&#160;&#160;<a href="cvt07.htm"><img src="../../../../pics/nav_bk.png" alt="zur&uuml;ck" width="20" height="20" border="0" title="zur&uuml;ck" /></a>
&#160;&#160;&#160;<a href="cvt09.htm"><img src="../../../../pics/nav_fw.png" alt="vorw&auml;rts" width="20" height="20" border="0" title="vorw&auml;rts" /></a>
<div class="crlf1"></div>
</body>
</html>
